

import CryptoTool from '@/utils/crypto/jscrypto.js'
import utils from '@/utils/utils.js'

/**
 * 客服电话
 */
export const CUSTOMSERVICE_TEL = '400-666-5809'
/**
 * 微信公众号
 */
export const WECHAT_OFFICIAL_ACCOUNDT = 'PAYHKD'
/**
 * 微信客服号
 */
export const WECHAT_CUSTOMSERVIC_CODE = 'HKDPAL'

/**
 * 每页数量
 * @type {string} 
 */
export const kPageCount = 20
/**
 * 开始分页
 * @type {string} 
 */
export const kFirstPage = 1

/**
 * 接口加密iv参数
 * @type {Function}
 * @returns {string} iv参数
 */
export function app_iv() {
	return process.env.VITE_IV
}
/**
 * 接口请求appkey参数
 * @type {Function}
 * @returns {string} appkey参数
 */
export function app_key() {
	return process.env.VITE_APP_KEY
}
/**
 * 接口请求chanel参数
 * @type {Function}
 * @returns {string} chanel参数
 */
export function app_channel() {
	return process.env.VITE_APP_CHANNEL 
}
/**
 * 接口请求公钥
 * @type {Function}
 * @returns {string} 公钥
 */
export function app_public_key() {
	return process.env.VITE_PUBLIC_KEY 
}
/**
 * 密码加密key
 * @type {Function}
 * @returns {string} 密码加密key
 */
export function app_password_key() {
	return process.env.VITE_PASSWORD_KEY
}
/**
 * 密码加密iv
 * @type {Function}
 * @returns {string} 密码加密iv
 */
export function app_password_iv() {
	return process.env.VITE_PASSWORD_IV
}
/**
 * 用户协议
 * @type {Function}
 * @returns {string} 用户协议url
 */
export function app_user_agreement(){
	return 'https://candypay.gpal.cn/mobile/hkd_service.html'
}
/**
 * 隐私政策
 * @type {Function}
 * @returns {string} 隐私政策url
 */
export function app_user_privacy(){
	return 'https://candypay.gpal.cn/mobile/hkd_privacy.html'
}
/**
 * CFCA数字证书服务协议
 * @type {Function}
 * @returns {string} CFCA数字证书服务协议url
 */
export function app_user_cfca(){
	return 'https://candypay.gpal.cn/mobile/hkd_cfca.html'
}
/**
 * 组装请求Meta信息
 * @type {Function}
 * @param {object} data 请求参数对象
 * @param {number} page 当前页数，为0时不分页
 * @returns {string} 返回加密结果字符串
 */
export function getMeta(data = {},page = 0){
	let transDate = uni.$u.timeFormat(new Date().getTime(),'yyyymmddhhMMss')
	let clientName = 'H5'
	let appKey = app_key()
	let transNonce = uni.$u.guid(32)
	let meta = {transDate,clientName,appKey,transNonce,'clientVersion':'1.0.0'}
	const token = uni.getStorageSync('token') || ''
	if (!uni.$u.test.isEmpty(token)) {
		meta.accessToken = token
	}
	let newData = {data,meta}
	if (page > 0) {
		newData.page = {"pageNumber":page,"pageSize":kPageCount}
	}
	if(process.env.VITE_ISLOG){
		console.log('请求参数：',newData)
	}
	return CryptoTool.networkEncrypt(JSON.stringify(newData))
}
